package wolf.iu.framework.hooks;

import wolf.iu.framework.ClassContainer;
import wolf.iu.framework.ClassesHandler;
import wolf.iu.framework.HooksList;

public abstract class VisitorTransform implements Transform {

    @Override
    public HookState execute(final ClassesHandler ch, final ClassContainer cc,
            final HooksList hooks) {
        if (!visitClass(cc))
            return HookState.WrongClass;
        return HookState.Found;
    }
    
    public abstract boolean visitClass(ClassContainer cc);

}
